As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
As is known in the art, a driver may comprise a program of instructions configured to, when read and executed by a processor, provide a software interface between an operating system or preboot execution environment executing on the processor and firmware or hardware executing on an information handling resource for which the driver is associated. In order to prevent the introduction of malicious code that mimics a hardware driver, information handling systems are increasingly including mechanisms whereby a vendor of an information handling resource and its associated driver may digitally sign a driver with a private key, and such signature may be verified by an operating system or preboot execution environment with a public key provided by the vendor and stored in a key database accessible to the operating system or preboot execution environment, as applicable. In some operating systems, the population of such a key database to add new drivers (e.g., updates, bug fixes, etc.) often requires manual intervention by a user. Such manual intervention may be impractical when such new drivers must be applied to a broad set of servers in a computing enterprise.